package com.logic.landseaserver.service;


import java.util.List;
import java.util.Map;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.landseaserver.common.exception.LandseaException;
import com.logic.landseaserver.domain.ActivityList;
import com.logic.landseaserver.domain.ActivityListDetail;
import com.logic.landseaserver.domain.ActivityListDetailDynamic;
import com.logic.landseaserver.ws.dto.ActivityAndActivityListDTO;
import com.logic.landseaserver.ws.dto.ActivityDTO;
import com.logic.landseaserver.ws.dto.ActivityDynamicReq;
import com.logic.landseaserver.ws.dto.ActivityListDTO;
import com.logic.landseaserver.ws.dto.ActivityListDTO1;
import com.logic.landseaserver.ws.dto.ActivityListDetailDTO;
import com.logic.landseaserver.ws.dto.ActivityListDetailDynamicDTO;
import com.logic.landseaserver.ws.dto.SaveActivityListDetailDynamicReq;

/**
 * @Author: jack
 * @Date: 2017/5/4
 * @Description: 活动接口类
 */
public interface IActivityService extends ICRUDService{

	int insertActivity(ActivityDTO activityDTO) throws BusinessException;

	void editActivity(ActivityDTO activityDTO) throws BusinessException;
	
	void deleteActivity(Integer id) throws BusinessException;
	
	String getValueByCode(String code)throws BusinessException;
	
	void setNullById(String imageId) throws BusinessException;

    int insertActivityList(ActivityList activityList);

    int insertActivityListDetail(ActivityListDetail activityListDetail);

    void insertActivityListDetailDynamic(List<ActivityDynamicReq> activityListDetailDynamics);

    List<ActivityList> queryActivityList(Integer id);

    ActivityListDetail queryActivityListDetail(Integer id);

    List<ActivityListDetailDynamic> queryActivityListDetailDynamic(Integer id);

    void deleteActivityList(Integer id)throws BusinessException;

    void deleteActivityListDetail(Integer id)throws BusinessException;

    void deleteActivityListDetailDynamic(Integer id)throws BusinessException;

    void deleteActivityListDetailByPrimaryKey(Integer id) throws BusinessException;

    void deleteActivityListByDetailId(Integer id)throws BusinessException;

    void deleteActivityListDetailDynamicByPrimaryKey(Integer id) throws BusinessException;

    Integer publishedActivity(Map pmap) throws BusinessException;

    List<ActivityListDTO> queryList() throws BusinessException;

    ActivityListDetailDTO queryActivityListDetailDTO(Integer id) throws BusinessException, LandseaException;

    List<ActivityListDetailDynamicDTO> queryActivityListDetailDynamicDTO(Integer id) throws BusinessException, LandseaException;

    void editActivityList(List<ActivityList> activityList) throws BusinessException;

    void editActivityListDetail(ActivityListDetail activityListDetail) throws BusinessException;

    void editActivityListDetailDynamic(ActivityListDetailDynamic activityListDetailDynamic) throws BusinessException;

    void canclePublishedActivity(Integer id);

    List<ActivityListDTO1> queryActivityListDTO(Integer id)throws BusinessException;

    void editActivityAndActivityListDTO(ActivityAndActivityListDTO dto);
    
    void saveDynamicAcInfoInsert(SaveActivityListDetailDynamicReq saveActivityListDetailDynamicReq);
    
    void saveDynamicAcInfoEdit(SaveActivityListDetailDynamicReq saveActivityListDetailDynamicReq);
    
    void updateActivityListDetailDynamic(List<ActivityDynamicReq> activityListDetailDynamics);
}
